package com.easy.mapper;

import com.easy.bean.PostBean;
import com.easy.util.Page;
import com.easy.util.PageRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PostDao {
    // 新增帖子
    int add(@Param("post") PostBean post);

    // 软删除
    int del(Integer id);

    int delete(Integer id);
    // 修改帖子
    int update(@Param("post") PostBean post);

    // 根据ID查询
    PostBean getById(Integer id);
    //根据用户ID进行查询
    List<PostBean> selectByUserId(Integer userId);

    // 根据分类查询
    List<PostBean> listByType(@Param("typeId") Integer typeId);

    // 标题模糊查询
    // 添加新的搜索方法
    List<PostBean> searchByTitle(@Param("keyword") String keyword, @Param("page") Page page);

    int countSearchByTitle(@Param("keyword") String keyword);

    List<PostBean> list(@Param("post") PostBean post);

    // 修改分页查询方法
    List<PostBean> page(@Param("page") Page page, @Param("post") PostBean post);

    // 修改分页计数方法
    int pageCount(@Param("post") PostBean post);
    int listPageCount(@Param("post") PostBean post);
    List<PostBean> listPage(@Param("page") Page page, @Param("post") PostBean post);
}